NLog, Serilog এর মতো থার্ড-পার্টি লোগিং টুলস

Web Development - এএসপি ডট (ASP.Net) - Logging এবং Error হ্যান্ডলিং |

লগিং হল একটি অত্যন্ত গুরুত্বপূর্ণ কার্যক্রম যেটি অ্যাপ্লিকেশনের কর্মক্ষমতা মনিটর করার জন্য ব্যবহৃত হয়। ASP.Net অ্যাপ্লিকেশনগুলিতে ডিফল্ট লগিং ফিচার ব্যবহারের পাশাপাশি থার্ড-পার্টি লগিং টুলস যেমন NLog এবং Serilog ব্যবহার করা হয়। এগুলি আরো উন্নত লগিং ফিচার প্রদান করে, যেমন আরও ডিটেইলড লগিং, ফাইল/ডাটাবেসে লগ সংরক্ষণ, এবং লগের ফিল্টারিং।


১. NLog

NLog হল একটি শক্তিশালী এবং কনফিগারেবল লগিং ফ্রেমওয়ার্ক যা ASP.Net অ্যাপ্লিকেশনে লগিং সম্পাদন করতে ব্যবহৃত হয়। এটি বিভিন্ন আউটপুট টার্গেটে লগ পাঠাতে সক্ষম, যেমন ফাইল, ডাটাবেস, কনসোল, ইত্যাদি।

NLog ইনস্টলেশন এবং কনফিগারেশন

  1. NLog প্যাকেজ ইনস্টল করা:
    • NuGet থেকে NLog ইনস্টল করতে পারেন:

      Install-Package NLog.Web.AspNetCore
      
  2. NLog কনফিগারেশন ফাইল তৈরি করা:

    • nlog.config নামে একটি কনফিগারেশন ফাইল তৈরি করুন এবং এটি wwwroot ফোল্ডারে রাখুন।

    উদাহরণ nlog.config:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <targets>
        <target name="logfile" xsi:type="File" fileName="logs/logfile.txt" />
      </targets>
      <rules>
        <logger name="*" minlevel="Info" writeTo="logfile" />
      </rules>
    </configuration>
    
  3. NLog ব্যবহার করা:

    • কন্ট্রোলার বা অন্য যেকোনো স্থানে NLog ব্যবহার করতে, প্রথমে ILogger ইনজেক্ট করুন:
    private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
    
    public IActionResult Index()
    {
        Logger.Info("This is an info log message.");
        return View();
    }
    

২. Serilog

Serilog একটি আধুনিক, কাঠামোগত লগিং টুল যা JSON বা অন্যান্য কাঠামোগত ফরম্যাটে লগ রেকর্ড করতে সক্ষম। এটি এসিনক্রোনাস লগিং সমর্থন করে এবং প্রাথমিকভাবে খুব ভাল কনফিগারেশন সক্ষমতা প্রদান করে।

Serilog ইনস্টলেশন এবং কনফিগারেশন

  1. Serilog প্যাকেজ ইনস্টল করা:
    • NuGet থেকে Serilog এবং এর ASP.Net Core ইন্টিগ্রেশন প্যাকেজ ইনস্টল করুন:

      Install-Package Serilog.AspNetCore
      Install-Package Serilog.Sinks.File
      
  2. Serilog কনফিগারেশন:

    • Program.cs অথবা Startup.cs ফাইলে Serilog কনফিগারেশন করুন:
    using Serilog;
    
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseSerilog((context, config) => config
                .WriteTo.Console()
                .WriteTo.File("logs/logfile.txt", rollingInterval: RollingInterval.Day)
                .ReadFrom.Configuration(context.Configuration));
    
  3. Serilog ব্যবহার করা:

    • কন্ট্রোলারে ILogger ইঞ্জেক্ট করে লগিং ব্যবহার করুন:
    private readonly ILogger<HomeController> _logger;
    
    public HomeController(ILogger<HomeController> logger)
    {
        _logger = logger;
    }
    
    public IActionResult Index()
    {
        _logger.LogInformation("This is an information log.");
        return View();
    }
    

৩. NLog এবং Serilog এর তুলনা

ফিচারNLogSerilog
কনফিগারেশনXML ফাইলকোড বা JSON ফাইল
আউটপুট টার্গেটফাইল, কনসোল, ডাটাবেস, ইত্যাদিফাইল, কনসোল, ডাটাবেস, ক্লাউড
কাঠামোগত লগিংLimitedঅত্যন্ত শক্তিশালী এবং কাঠামোগত
এসিনক্রোনাস সাপোর্টনাহ্যাঁ
লাইটওয়েটহ্যাঁহ্যাঁ

সারাংশ

NLog এবং Serilog উভয়ই শক্তিশালী থার্ড-পার্টি লগিং টুলস, তবে Serilog কাঠামোগত লগিং এবং JSON ফরম্যাটে লগ রেকর্ড করার জন্য বেশি জনপ্রিয়। NLog একটু পুরোনো এবং কনফিগারেশন ফাইলের মাধ্যমে কাজ করার ক্ষেত্রে সহজ হতে পারে। আপনার প্রয়োজন অনুসারে, দুটি লাইব্রেরি থেকেই যে কোন একটি ব্যবহার করতে পারেন, তবে Serilog সাধারণত আধুনিক ASP.Net অ্যাপ্লিকেশনগুলির জন্য বেশি উপযুক্ত।

Content added By
Promotion